import '../services/shared_util.service.dart';

class MapLocation {
  MapLocation({
    this.latitude,
    this.longitude,
    this.address,
    this.formattedAddress,
    this.province,
    this.city,
    this.district,
    this.adCode,
  });

  factory MapLocation.fromJson(Map<String, dynamic> json) {
    return MapLocation(
      latitude:
          SharedUtil.tryToConvert<double>(json['latitude'], (p) => p as double),
      longitude: SharedUtil.tryToConvert<double>(
          json['longitude'], (p) => p as double),
      address:
          '${json['country']},${json['province']},${json['city']},${json['district']},${json['township']}',
      formattedAddress: json['formattedAddress'].toString(),
      province: json['province'].toString(),
      city: json['city'].toString(),
      district: json['district'].toString(),
    );
  }

  double? latitude; // 坐标纬度
  double? longitude; // 坐标经度
  String? address; // 根据经纬度从地图API获取的地址信息，由逗号间隔，如中国,浙江省,杭州市,萧山区,北干街道。
  String? formattedAddress; // 根据经纬度从地图API获取的格式化后的地址信息，如浙江省杭州市萧山区北干街道博奥路。
  String? province; // 根据经纬度从地图API获取的坐标点所在省名称。
  String? city; // 根据经纬度从地图API获取的坐标点所在城市名称。
  String? district; // 根据经纬度从地图API获取的坐标点所在区。
  String? adCode; // 根据经纬度从地图API获取的行政区编码。
}
